home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1985-10-15 | 3.2 KB | 96 lines |
- 10 GOSUB 530: GOTO 280
- 20 H=0: K=0: FOR A= 7 TO 35: GOSUB 60: NEXT
- 30 GOSUB 170: IF H<1 THEN 250
- 40 H=0: K=0: A=T: GOSUB 60: IF H<1 THEN 250
- 50 GOTO 30
- 60 IF B(A)=0 OR B(A)=-S OR B(A)=2 THEN RETURN
- 70 FOR B=0 TO D(A-7): C=A+M(B): IF B(C)=S OR B(C)=2 THEN 160
- 80 IF B(C) THEN 120
- 90 SC=RND(1)*0.9: IF H<SC THEN H=SC: F=A: T=C
- 100 IF CK=1 AND T1=C THEN L=1: B=7
- 110 GOTO 160
- 120 IF B(C+M(B)) THEN 160
- 130 SC=1+RND(1)*0.9: IF H<SC THEN H=SC: F=A: T=C+M(B): K=C
- 140 IF CK=0 THEN 160
- 150 IF T1=C+M(B) THEN L=1: K1=C: B=7
- 160 NEXT: RETURN
- 170 B(T)=B(F): B(F)=0: A=F: GOSUB 760
- 180 IF K THEN B(K)=0: A=K: GOSUB 760
- 190 A=T: GOTO 760
- 200 GOSUB 520: IF S=1 THEN PRINT"THE WITCHES WIN!": GOTO 220
- 210 PRINT"THE GHOSTS WIN!"
- 220 LOCATE 23,10: PRINT"HIT A KEY TO PLAY AGAIN"
- 230 K$=INKEY$: IF K$="" THEN 230
- 240 RUN
- 250 S=-S: H=0: A=7
- 260 IF A=36 THEN 200
- 270 GOSUB 60: IF H=0 THEN A=A+1: GOTO 260
- 280 D=0: GOSUB 520: IF S=1 THEN PRINT"GHOST'S TURN": GOTO 300
- 290 PRINT"WITCH'S TURN"
- 300 PRINT TAB(16) "FROM:";
- 310 E=E+1: K$=INKEY$: IF K$="" THEN 310
- 320 IF ASC(K$)=13 THEN GOSUB 520: RANDOMIZE E: GOTO 20
- 330 IF ASC(K$)<97 OR ASC(K$)>121 THEN 310
- 340 PRINT K$: A=N(ASC(K$)-97): Z=A
- 350 LOCATE 23,18: PRINT "TO:";
- 360 K$=INKEY$: IF K$="" THEN 360
- 370 IF ASC(K$)<97 OR ASC(K$)>121 THEN 360
- 380 PRINT K$: T1=N(ASC(K$)-97)
- 390 CK=1: L=0: K1=0: GOSUB 60: CK=0
- 400 H=0: A=7
- 410 IF A=36 THEN 440
- 420 GOSUB 60: IF H>=1 THEN 440
- 430 A=A+1: IF A<36 THEN 420
- 440 IF D THEN 470
- 450 IF L THEN 480
- 460 SOUND 99,5: GOTO 280
- 470 IF L=0 OR K1=0 THEN SOUND 99,5: GOTO 510
- 480 IF K1=0 AND H>=1 THEN 460
- 490 F=Z: T=T1: K=K1: GOSUB 170: IF K1=0 THEN 250
- 500 A=T: Z=A: H=0: GOSUB 60: IF H<1 THEN 250
- 510 GOSUB 520: D=1: GOTO 350
- 520 LOCATE 20,1: FOR B=1 TO 3:PRINT:PRINT" ";:NEXT:LOCATE 21,14: RETURN
- 530 KEY OFF: SCREEN 1: COLOR 0,1: CLS: DEFINT C,W
- 540 DIM C1(98),W1(98),SQ(98),B(42),D(28),X(35),Y(35),L(35),XL(35),YL(35),N(28)
- 550 LINE (50,80)-(81,103),1,B
- 560 LOCATE 12,12: PRINT "THE WITCHING HOUR
- 570 LINE (230,80)-(261,103),1,B
- 580 GET (50,80)-(81,103),SQ
- 590 FOR A=0 TO 52: READ C1(A): NEXT
- 600 PUT (56,82),C1
- 610 GET (50,80)-(81,103),C1
- 620 FOR A=0 TO 69: READ W1(A): NEXT
- 630 PUT (232,82),W1
- 640 GET (230,80)-(261,103),W1
- 650 S=-1: FOR A=0 TO 7: READ M(A): NEXT
- 660 FOR A=0 TO 28: READ D(A): NEXT
- 670 B=48: C=32: D=59: E=12
- 680 FOR A=0 TO 4: FOR F=0 TO 4: H=6*A+F+7: X(H)=B*F+D-15: Y(H)=C*A+E-11
- 690 L(H)=G+97: N(G)=H: G=G+1: XL(H)=6*F+10: YL(H)=4*A+1: NEXT: NEXT
- 700 CLS: FOR A=0 TO 4: LINE (D,C*A+E)-(B4+D,C*A+E),2: NEXT
- 710 FOR A=0 TO 4: LINE (B*A+D,E)-(B*A+D,C*4+E),2: NEXT
- 720 A=0: F=0: GOSUB 740: A=B+B: GOSUB 740: F=C+C: GOSUB 740: A=0: GOSUB 740
- 730 FOR A=0 TO 42: READ B(A): GOSUB 760: NEXT: RETURN
- 740 LINE (D+A,E+F)-(2*B+D+A,2*C+E+F),2
- 750 LINE (D+A,2*C+E+F)-(2*B+D+A,E+F): RETURN
- 760 IF B(A)=2 THEN RETURN
- 770 IF B(A)<0 THEN PUT (X(A),Y(A)),W1,PSET
- 780 IF B(A)=0 THEN PUT (X(A),Y(A)),SQ,PSET
- 790 IF B(A)>0 THEN PUT (X(A),Y(A)),C1,PSET
- 800 LOCATE YL(A),XL(A): PRINT CHR$(L(A)): RETURN
- 810 DATA 36,20,-256,192,0,-961,0,16128,255,0,-1,192,-3328,-16177,0,-1,192
- 820 DATA 16128,255,0,-1009,-16381,1020,16368,-16,-1,-3841,-1,-769,-16336,-193
- 830 DATA 192,16128,-3841,0,-241,252,768,-769,0,16128,252,0,-4033,0,16128,192,0
- 840 DATA -4081,0,0,255,0
- 850 DATA 52,20,48,0,3,15360,240,768,0,-241,252,-16381,768,-1,960,192,-256
- 860 DATA -769,-4081,0,-241,16383,255,3840,4095,12543,0,-1009,-1,192,768,-61
- 870 DATA 207,0,3840,-16129,0,0,-12289,192,0,-253,-16369,0,768,-15361,240
- 880 DATA -32768,-253,15600,0,168,-193,-16369,-22016,-81,-21761,-24406,16296
- 890 DATA -1,0,-32768,-241,252,0,3840,-3841,0,0,-16372
- 900 DATA -6,1,6,-1,-5,7,5,-7
- 910 DATA 7,3,7,3,7,0,3,7,3,7,3,0
- 920 DATA 7,3,7,3,7,0,3,7,3,7,3,0,7,3,7,3,7
- 930 DATA 2,2,2,2,2,2,2,-1,-1,-1,-1,-1,2
- 940 DATA -1,-1,-1,-1,-1,2,-1,-1,0,1,1,2
- 950 DATA 1,1,1,1,1,2,1,1,1,1,1,2,2,2,2,2,2,2
-